home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc / Sample Code / PartMaker 4.4 / PartMaker Documents / Script Runner• / Script Runner•.rsrc / dFRK_5002 < prev    next >
Encoding:
Text File  |  1995-12-12  |  16.3 KB  |  344 lines

  1. (*
  2.     This script was generated from "Save Project As Script"
  3.     
  4.     Generated from:
  5.     
  6.     Project:    OSAPlugIn PPC.π
  7.     Folder:        Bradshaw:Script Runner:
  8.     Date:        Tuesday, December 12, 1995 8:22:00 PM
  9. *)
  10.  
  11. global gSPMFolder
  12. global gTargetProjectFolder
  13. global gTargetProjectIndex
  14.  
  15. property gOriginalProjectName : "OSAPlugIn PPC.π"
  16.  
  17. on GetParentFolder(filePath)
  18.     set pathLength to length of filePath
  19.     set folderEnd to 0
  20.     repeat with i from pathLength to 1 by -1
  21.         if (character i of filePath is ":") then
  22.             set folderEnd to i
  23.             exit repeat
  24.         end if
  25.     end repeat
  26.     copy text from character 1 to character folderEnd of filePath to folderToSearch
  27.     return folderToSearch
  28. end GetParentFolder
  29.  
  30. on AddGroup(groupName, parentGroupName)
  31.     tell application "Symantec Project Manager"
  32.         tell project document gTargetProjectIndex
  33.             try
  34.                 if (not (group groupName exists)) then
  35.                     if (parentGroupName is not "") then
  36.                         create new group as groupName at end of group named parentGroupName
  37.                     else
  38.                         create new group as groupName at end
  39.                     end if
  40.                     set is_open of group named groupName to true
  41.                 end if
  42.             on error
  43.                 display dialog "An error occured while creating group " & segmentName & "."
  44.                 return
  45.             end try
  46.         end tell
  47.     end tell
  48. end AddGroup
  49.  
  50. on AddProjectEntry(entryName, path, mode, groupName)
  51.     if (mode is "system")
  52.         set fileName to gSPMFolder & path & entryName
  53.     else if (mode is "project")
  54.         set fileName to gTargetProjectFolder & path & entryName
  55.     else
  56.         set fileName to path & entryName
  57.     end if
  58.     tell application "Symantec Project Manager"
  59.         tell project document gTargetProjectIndex
  60.             try
  61.                 if (groupName is not "") then
  62.                     if (not (source entryName of group groupName exists)) then
  63.                         create new source as file fileName at end of group named groupName
  64.                     end if
  65.                 else
  66.                     if (not (source entryName exists)) then
  67.                         create new source as file fileName at end
  68.                     end if
  69.                 end if
  70.             on error
  71.                 display dialog "An error occured while creating source " & entryName & "."
  72.             end try
  73.         end tell
  74.     end tell
  75. end AddProjectEntry
  76.  
  77. on GetProjectIndex(project)
  78.     -- Find the index of the front project.
  79.     -- We should be able to just say "set gTargetProjectIndex to index of front project document)"
  80.     -- but there is a bug in the SPM right now where it doesn't index projects by window layering.
  81.     tell application "Symantec Project Manager"
  82.         set projectName to full path name of project
  83.         set projectCount to count project documents
  84.         repeat with i from 1 to projectCount
  85.             set fpn to full path name of project document i
  86.             if (fpn is projectName) then
  87.                 return i
  88.             end if
  89.         end repeat
  90.     end tell
  91.     return 0
  92. end GetProjectIndex
  93.  
  94. on ConfirmTargetProject(targetProjectIndex)
  95.     set hitOK to true
  96.     tell app "Symantec Project Manager"
  97.         -- Confirm the project
  98.         set promptString to "Update project \"" & name of project document targetProjectIndex & "\"?"
  99.         set confirmResult to display dialog promptString buttons {"New Project", "Cancel", "OK"} default button 3
  100.     end tell
  101.     return button returned of confirmResult
  102. end ConfirmTargetProject
  103.  
  104. on ChooseTargetProject()
  105.     tell app "Symantec Project Manager"
  106.         if number of project document = 0 then
  107.             set promptForNewProject to true
  108.             set targetProjectIndex to 0
  109.         --else if (class of front document is project document) then
  110.         --    set targetProjectIndex to my GetProjectIndex(front document)
  111.         else if (exists main_project) then
  112.             set targetProjectIndex to index of main_project
  113.         else
  114.             set targetProjectIndex to 0
  115.         end if
  116.     
  117.         if (targetProjectIndex > 0) then
  118.             set confirmButton to my ConfirmTargetProject(targetProjectIndex)
  119.             if (confirmButton is not "OK") then
  120.                 set promptForNewProject to true
  121.             else
  122.                 set promptForNewProject to false
  123.             end if
  124.         else
  125.             set promptForNewProject to true
  126.         end if
  127.         
  128.         if (promptForNewProject) then
  129.             try
  130.                 set newProjectSpec to new file with prompt "New Project Name:" default name gOriginalProjectName
  131.                 create new project document as file newProjectSpec
  132.                 set targetProjectIndex to my GetProjectIndex(front document)
  133.             on error
  134.                 set targetProjectIndex to 0
  135.             end try
  136.         end if
  137.     end tell
  138.     return targetProjectIndex
  139. end ChooseTargetProject
  140.  
  141. tell application "Symantec Project Manager"
  142.     activate
  143.     set gTargetProjectIndex to my ChooseTargetProject()
  144.     if (gTargetProjectIndex is 0)
  145.         return
  146.     end if
  147.     set gSPMFolder to my GetParentFolder(filespec as string)
  148.     set gTargetProjectFolder to my GetParentFolder(filespec of project document gTargetProjectIndex as string)
  149. end tell
  150.  
  151. -- Add all the groups
  152. my AddGroup("OSAPlugIn", "", gTargetProjectIndex)
  153. my AddGroup("OpenDoc Utilities", "", gTargetProjectIndex)
  154. my AddGroup("Resources", "", gTargetProjectIndex)
  155. my AddGroup("OpenDoc Libraries", "", gTargetProjectIndex)
  156. my AddGroup("System Libraries", "", gTargetProjectIndex)
  157.  
  158. -- Add all the source files
  159. my AddProjectEntry("QuickDrawGXLib.xcoff", "Macintosh Libraries:PPC Libraries:", "system", "System Libraries", gTargetProjectIndex)
  160. my AddProjectEntry("PPCANSI.o", "Standard Libraries:", "system", "System Libraries", gTargetProjectIndex)
  161. my AddProjectEntry("OpenDoc PPCRuntime.o", "OpenDoc (SPM):OpenDoc PPCRuntime:", "system", "System Libraries", gTargetProjectIndex)
  162. my AddProjectEntry("MathLib.xcoff", "Macintosh Libraries:PPC Libraries:", "system", "System Libraries", gTargetProjectIndex)
  163. my AddProjectEntry("InterfaceLib.xcoff", "Macintosh Libraries:PPC Libraries:", "system", "System Libraries", gTargetProjectIndex)
  164. my AddProjectEntry("somlib", "SOM (SPM):", "system", "System Libraries", gTargetProjectIndex)
  165. my AddProjectEntry("OpenDoc User Interface.stub", "OpenDoc (SPM):OpenDoc:Libraries:PEF:", "system", "OpenDoc Libraries", gTargetProjectIndex)
  166. my AddProjectEntry("OpenDoc Storage.stub", "OpenDoc (SPM):OpenDoc:Libraries:PEF:", "system", "OpenDoc Libraries", gTargetProjectIndex)
  167. my AddProjectEntry("OpenDoc Layout.stub", "OpenDoc (SPM):OpenDoc:Libraries:PEF:", "system", "OpenDoc Libraries", gTargetProjectIndex)
  168. my AddProjectEntry("AltPoint.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  169. my AddProjectEntry("OpenDoc Core.stub", "OpenDoc (SPM):OpenDoc:Libraries:PEF:", "system", "OpenDoc Libraries", gTargetProjectIndex)
  170. my AddProjectEntry("Memory Manager.stub", "OpenDoc (SPM):OpenDoc:Libraries:PEF:", "system", "OpenDoc Libraries", gTargetProjectIndex)
  171. my AddProjectEntry("StdCLib.xcoff", "Standard Libraries:Apple PPC Libraries:", "system", "System Libraries", gTargetProjectIndex)
  172. my AddProjectEntry("AltPoly.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  173. my AddProjectEntry("SCPCHeaders++.pch", "Build Support:", "system", "", gTargetProjectIndex)
  174. my AddProjectEntry("OSAPlugIn.cpp", "OSAPlugIn:", "project", "OSAPlugIn", gTargetProjectIndex)
  175. my AddProjectEntry("IText.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  176. my AddProjectEntry("StorUtil.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  177. my AddProjectEntry("Except.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  178. my AddProjectEntry("DlogUtil.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  179. my AddProjectEntry("FlipEnd.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  180. my AddProjectEntry("ISOStr.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  181. my AddProjectEntry("StdIFmIO.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  182. my AddProjectEntry("TempIter.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  183. my AddProjectEntry("ODDebug.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  184. my AddProjectEntry("ODMemory.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  185. my AddProjectEntry("ODUtils.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  186. my AddProjectEntry("OSAPlugIn.PPC.rsrc", "Objects:", "project", "Resources", gTargetProjectIndex)
  187. my AddProjectEntry("PasclStr.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  188. my AddProjectEntry("LineOps.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  189. my AddProjectEntry("BArray.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  190. my AddProjectEntry("SC++ ScriptRunnerAgentInit.cpp", "OSAPlugIn:", "project", "OSAPlugIn", gTargetProjectIndex)
  191. my AddProjectEntry("ODMathM.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  192. my AddProjectEntry("OpenDoc Imaging.stub", "OpenDoc (SPM):OpenDoc:Libraries:PEF:", "system", "OpenDoc Libraries", gTargetProjectIndex)
  193. my AddProjectEntry("StdTypIO.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  194. my AddProjectEntry("UseRsrcM.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  195. my AddProjectEntry("PlfmFile.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  196. my AddProjectEntry("ODNew.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  197. my AddProjectEntry("Crawl.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  198. my AddProjectEntry("TempObj.cpp", "OpenDoc (SPM):OpenDoc:OpenDoc Utilities:Implementation:", "system", "OpenDoc Utilities", gTargetProjectIndex)
  199. my AddProjectEntry("PPCToolLibs.o", "Macintosh Libraries:PPC Libraries:", "system", "System Libraries", gTargetProjectIndex)
  200. my AddProjectEntry("ScriptRunnerAgent.cpp", "OSAPlugIn:", "project", "OSAPlugIn", gTargetProjectIndex)
  201. my AddProjectEntry("DragLib.xcoff", "Macintosh Libraries:PPC Libraries:", "system", "System Libraries", gTargetProjectIndex)
  202.  
  203. tell application "Symantec Project Manager"
  204.     tell project document gTargetProjectIndex
  205.  
  206.         -- Set up project options
  207.         set compact_on_close to false
  208.         set confirm_updates to true
  209.         set update_subprojects to true
  210.         set check_file_dates to false
  211.         set run_with_debugger to true
  212.  
  213.         -- Set up project type options
  214.         set target_type to PowerPC_library
  215.         set file_type to "shlb"
  216.         set file_creator to "PUNR"
  217.         set SIZE_flags to 22720
  218.         set partition_size to 1024
  219.         set minimum_partition_size to 1024
  220.         set ask_for_target to true
  221.         set target_name to file (gTargetProjectFolder & "OSAPlugIn (SPM)")
  222.         set merge_68k_application to false
  223.         set source_68k_application to file ""
  224.         set custom_stack_size to 0
  225.         set export_all_symbols to false
  226.         set current_lib_version to 16809984
  227.         set lib_definition_version to 0
  228.  
  229.         -- Set up linker options
  230.         set linker_to_use to incremental_linker
  231.         set smart_link to true
  232.         set generate_link_map to false
  233.         set update_subprojects to true
  234.         set generate_cross_references to false
  235.         set use_makesym to false
  236.         set ppclink_options to "-main __cplusstart"
  237.         set makesym_options to ""
  238.         set makepef_options to "-l 'AppleScriptLib.xcoff.o=AppleScriptLib' ∂" & return & ¬
  239. "-l 'InterfaceLib.xcoff.o=InterfaceLib' ∂" & return & ¬
  240. "-l 'DragLib.xcoff.o=DragLib' ∂" & return & ¬
  241. "-l 'MathLib.xcoff.o=MathLib' ∂" & return & ¬
  242. "-l 'ObjectSupportLib.xcoff.o=ObjectSupportLib' ∂" & return & ¬
  243. "-l 'QuickTimeLib.xcoff.o=QuickTime' ∂" & return & ¬
  244. "-l 'StdCLib.xcoff.o=StdCLib' "
  245.  
  246.         -- Set up extensions    
  247.         set extension_map to {¬
  248.             {the_extension:".c", the_translator:"PowerPC C"},¬
  249.             {the_extension:".cp", the_translator:"PowerPC C++"},¬
  250.             {the_extension:".cpp", the_translator:"PowerPC C++"},¬
  251.             {the_extension:".o", the_translator:"XCOFF Converter"},¬
  252.             {the_extension:".pch", the_translator:"PowerPC C++"},¬
  253.             {the_extension:".r", the_translator:"Symantec Rez"},¬
  254.             {the_extension:".rsrc", the_translator:"Resource Copier"},¬
  255.             {the_extension:".va", the_translator:"Resource Copier"},¬
  256.             {the_extension:".xcoff", the_translator:"XCOFF Converter"}¬
  257.         }
  258.  
  259.         -- Set up project window options
  260.         set order_by to order_by_debugging
  261.         set ascending_order to true
  262.         set show_group_hierarchy to true
  263.         set show_entry_icon to true
  264.         set show_debugging_status to true
  265.         set show_group_membership to false
  266.         set show_translator to false
  267.         set show_type to false
  268.         set show_location to false
  269.         set show_last_modification to false
  270.         set show_code_size to true
  271.         set show_data_size to false
  272.         set show_make_status to true
  273.         set show_projector_status to false
  274.         set font to "Geneva"
  275.         set font_size to "9"
  276.  
  277.         -- Set up "PowerPC C" options
  278.         set ansi of Options "PowerPC C" to true
  279.         set ansi_strict of Options "PowerPC C" to relaxed_ansi
  280.         set read_header_once of Options "PowerPC C" to true
  281.         set chars_unsigned of Options "PowerPC C" to false
  282.         set pack_enums of Options "PowerPC C" to false
  283.         set map_cr of Options "PowerPC C" to false
  284.         set native_language of Options "PowerPC C" to english
  285.         set struct_align of Options "PowerPC C" to align_2
  286.         set global_optimizer of Options "PowerPC C" to true
  287.         set gopt_time of Options "PowerPC C" to optimize_time
  288.         set force_frame of Options "PowerPC C" to false
  289.         set generate_symbolics of Options "PowerPC C" to true
  290.         set error_reporting of Options "PowerPC C" to report_first_few_err
  291.         set generate_warn of Options "PowerPC C" to true
  292.         set warn_unintended_assign of Options "PowerPC C" to true
  293.         set warn_nest_comments of Options "PowerPC C" to true
  294.         set warn_unused_expressions of Options "PowerPC C" to true
  295.         set warn_empty_loops of Options "PowerPC C" to true
  296.         set warn_used_before_set of Options "PowerPC C" to true
  297.         set warn_large_auto of Options "PowerPC C" to true
  298.         set warn_return_addr_auto of Options "PowerPC C" to true
  299.         set warn_unrecognized_pragma of Options "PowerPC C" to true
  300.         set prefix of Options "PowerPC C" to "#include <PPC Macheaders>"
  301.         set check_ptrs of Options "PowerPC C" to true
  302.         set require_protos of Options "PowerPC C" to true
  303.         set infer_protos of Options "PowerPC C" to infer_prototypes
  304.  
  305.         -- Set up "PowerPC C++" options
  306.         set ansi of Options "PowerPC C++" to true
  307.         set ansi_strict of Options "PowerPC C++" to relaxed_ansi
  308.         set read_header_once of Options "PowerPC C++" to true
  309.         set chars_unsigned of Options "PowerPC C++" to false
  310.         set pack_enums of Options "PowerPC C++" to false
  311.         set map_cr of Options "PowerPC C++" to false
  312.         set native_language of Options "PowerPC C++" to english
  313.         set struct_align of Options "PowerPC C++" to align_2
  314.         set global_optimizer of Options "PowerPC C++" to false
  315.         set gopt_time of Options "PowerPC C++" to optimize_time
  316.         set force_frame of Options "PowerPC C++" to false
  317.         set generate_symbolics of Options "PowerPC C++" to true
  318.         set error_reporting of Options "PowerPC C++" to report_first_few_err
  319.         set generate_warn of Options "PowerPC C++" to true
  320.         set warn_unintended_assign of Options "PowerPC C++" to true
  321.         set warn_nest_comments of Options "PowerPC C++" to true
  322.         set warn_unused_expressions of Options "PowerPC C++" to true
  323.         set warn_empty_loops of Options "PowerPC C++" to true
  324.         set warn_used_before_set of Options "PowerPC C++" to true
  325.         set warn_large_auto of Options "PowerPC C++" to true
  326.         set warn_return_addr_auto of Options "PowerPC C++" to true
  327.         set warn_unrecognized_pragma of Options "PowerPC C++" to false
  328.         set prefix of Options "PowerPC C++" to "#include \"SCPCHeaders++\"" & return & ¬
  329. "#pragma options(system_includes_from_project_tree)" & return & ""
  330.         set dont_inline of Options "PowerPC C++" to false
  331.         set warn_old_style_delete of Options "PowerPC C++" to true
  332.         set warn_struct_without_tag of Options "PowerPC C++" to true
  333.         set warn_missing_overloads of Options "PowerPC C++" to true
  334.         set warn_ref_init of Options "PowerPC C++" to true
  335.         set warn_old_style_definition of Options "PowerPC C++" to true
  336.         set warn_cast_incomplete_type of Options "PowerPC C++" to true
  337.  
  338.         -- Set up "Symantec Rez" options
  339.         set Redeclared Types of Options "Symantec Rez" to true
  340.         set prefix of Options "Symantec Rez" to "#define SystemSevenOrLater 1" & return & ""
  341.  
  342.     end tell
  343. end tell
  344.